package cn.hxsteel.jtool.util;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

/**
 * 乱码工具类 decode()和decodejs()在IE6以上版本功能相同，在IE6下JSP页面URL带参数使用decode()进行解码
 * 
 * @since 2012.12.17
 */
public class StringUtil
{
    /**
     * 将一个中文字符串进行转换
     * 
     * 后台用decode(string)解码
     * 
     * @param string 要转换的字符串
     * 
     * @author 邓享荣
     * @since 2012.12.17
     */
    public static String decode( String string )
    {
	try
	{
	    string = new String( string.getBytes( "iso-8859-1" ), "UTF-8" );
	    
	}
	catch ( UnsupportedEncodingException e )
	{
	    e.printStackTrace();
	}
	return string;
    }
    
    /**
     * 将一个中文字符串进行转换
     * 
     * 前台用encode(string)解码
     * 
     * @param string 要转换的字符串
     * 
     * @author 邓享荣
     * @since 2012.12.17
     */
    public static String encode( String string )
    {
	try
	{
	    
	    string = URLEncoder.encode( string, "utf-8" );
	}
	catch ( UnsupportedEncodingException e )
	{
	    e.printStackTrace();
	}
	return string;
    }
    
    /**
     * 在JS下使用URL带参数中文进行解码 JS下使用encodeURI(encodeURI(string))进行编码，后台使用decodejs(string)解码
     * 
     * @param string 要转换的字符串
     * 
     * @author 邓享荣
     * @since 2012.12.17
     */
    public static String decodejs( String string )
    {
	
	try
	{
	    string = java.net.URLDecoder.decode( string, "UTF-8" );
	    
	}
	catch ( UnsupportedEncodingException e )
	{
	    e.printStackTrace();
	}
	return string;
    }
    
}
